package com.example.springDemo.controller;

import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class 矩阵变量 {

    /**
     *
     * ?
     * @MatrixVariable   //获取矩阵变量的值 ;  后面用;分割的
     * 默认不开启矩阵变量   开启方法看WebConfig
     *     1、语法: /cars/sell; Low=34; brand=byd, audi, yd
     *     2、SpringBoot默认是禁用了矩阵变量的功能
     *        手动开启:原理。对于路径的处理。UrlPathHelper 进行解析。
     *     removeSemicolonContent (移除分号内容)支持矩阵变量的
     *     3、矩阵变量必须有url路径变量才能被解桃
     *
     */



    @GetMapping("/cars/{path}")
    public Map carsSell(@MatrixVariable("low") Integer low,
                        @MatrixVariable("brand") List<String> brand,
                        @PathVariable("path") String path,
                        @RequestParam("hh") String hh
    ){
        Map<String,Object> map=new HashMap<>();
        map.put("low",low);
        map.put("brand",brand);
        map.put("path",path);
        map.put("hh",hh);

        return map;
    }

    @GetMapping("/boss/{bossId}/{empId}")
    public Map boss(@MatrixVariable(value = "age",pathVar = "bossId") Integer bossAge,
                    @MatrixVariable(value = "age",pathVar = "empId") Integer empAge){

        Map<String,Object> map=new HashMap<>();
        map.put("bossAge",bossAge);
        map.put("empAge",empAge);

        return map;
    }

}
